Skip to content

Conversation

@gomoripeti
Copy link
Contributor

Proposed Changes

This is mainly for community plugins which want to migrate away from Mnesia into a new subdir. (They might not even use Khepri, or use Khepri but a different store id.)

Fixes #11304

If accepted, I shall update docs for community plugin developers somewhere on https://www.rabbitmq.com/plugin-development

Types of Changes

What types of changes does your code introduce to this project?
Put an x in the boxes that apply

  • Bug fix (non-breaking change which fixes issue #NNNN)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause an observable behavior change in existing systems)
  • Documentation improvements (corrections, new content, etc)
  • Cosmetic change (whitespace, formatting, etc)
  • Build system and/or CI

Checklist

Put an x in the boxes that apply.
You can also fill these out after creating the PR.
This is simply a reminder of what we are going to look for before merging your code.

  • Mandatory: I (or my employer/client) have have signed the CA (see https://github.com/rabbitmq/cla)
  • I have read the CONTRIBUTING.md document
  • I have added tests that prove my fix is effective or that my feature works
  • All tests pass locally with my changes
  • If relevant, I have added necessary documentation to https://github.com/rabbitmq/rabbitmq-website
  • If relevant, I have added this change to the first version(s) in release-notes that I expect to introduce it

Further Comments

If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution
you did and what alternatives you considered, etc.

This is mainly for community plugins which want to migrate away from
Mnesia into a new subdir. (They might not even use Khepri, or use
Khepri but a different store id.)

Fixes rabbitmq#11304
Copy link
Collaborator

@michaelklishin michaelklishin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The idea is reasonable. The name plugins_data_dir suggests that it is a directory used or maintained by RabbitMQ but it's not the case.

We need a better name. user_plugins_dir would make it immediately obvious that the directly is NOT maintained by RabbitMQ.

Or additional_plugins_dir but that's not as descriptive w.r.t. who maintains that directory (the user, not RabbitMQ).

@gomoripeti
Copy link
Contributor Author

thanks for looking at it and the name suggestions. Let me note that "plugins_dir" is the dir where plugin code is, while this directory is for data (from user code). what about user_data_dir? Or the longer ones user_plugins_data_dir, additional_plugins_data_dir or community_plugins_data_dir?

@michaelklishin
Copy link
Collaborator

@gomoripeti yup, after re-reading #11304 I have figured the difference and the intent. #14622 uses rabbit.user_provided_plugins_data_dir, so the "plugins data" part is preserved.

This contribution will ship in 4.2.0. Thank you.

@gomoripeti gomoripeti deleted the plugins_data_dir branch September 27, 2025 00:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Allow Khepri post-migration step to not delete certain files or dirs

2 participants